7.1 Overview
7.2 Defining the Emulation Domain
7.3 Defining the Doped Substrate
7.4 Mask Generation
7.5 Patterning
7.6 Defining an Implantation Profile
7.7 Implantation
7.8 Stripping Layers
7.9 Depositing a Doped Layer
7.10 Etching
7.11 Fill
7.12 Polish
7.13 Finishing the BJT
7.14 Assignment
The capabililties of the process emulation mode of Sentaurus
Structure Editor have been superseded by the 3D process simulation capabilities of
Sentaurus Process. The use of the process emulation mode of Sentaurus
Structure Editor is discouraged.
See Section 10. Special Focus: Three-dimensional Examples.
In process emulation mode (Procem), Sentaurus Structure Editor translates processing steps, ranging from material deposition, patterning, and etching to trench fill and surface polish, into geometric operations.
Procem supports various advanced options, such as isotropic or anisotropic etching and deposition, and rounding and blending, to account for specific processing effects. Nongeometric operations, however, are performed only at a simplified level. For implantation, only analytic implants are supported. Diffusion is not supported.
This section introduces the concept of process emulation and some basic emulation operations available in Sentaurus Structure Editor. The example is to build a 3D BJT device structure as shown in Figure 1.

Figure 1. Three-dimensional BJT.
Sentaurus Structure Editor does not support Procem commands from the GUI. Therefore, Procem operations can only be performed using Scheme extension commands in the command-line window.
The Scheme command to define the emulation domain is:
(sdepe:define-pe-domain (list X1 Y1 X2 Y2))
where X1 Y1 and X2 Y2 are the coordinates of two opposite corners of the rectangular emulation domain.
The emulation domain for the BJT is defined with:
(define Xmax 2.2) ; Width (define Ymax 1.2) ; Depth (sdepe:define-pe-domain (list 0.0 0.0 Xmax Ymax))
Procem also supports polygonal emulation domains. In this case, a list of all corner coordinates of the polygon must be given.
The Scheme command to define the substrate is:
(sdepe:add-substrate "material" "material" "thickness" height)
(define Nasub 1e16) ; Boron concentration (define Zsub 2.0) ; Initial Substrate Height (define SUB (sdepe:add-substrate "material" "Silicon" "thickness" Zsub )) (sde:add-material SUB "Silicon" "Substrate") (sdepe:doping-constant-placement "DopSub" "BoronActiveConcentration" Nasub "Substrate")
In this example, a constant boron concentration is defined in the substrate using the following steps:
The Scheme command to define a mask is:
(sdepe:generate-mask "mask_name"
(list (list X1_1 Y1_1 X1_2 Y1_2 ...)
(list X2_1 Y2_1 X2_2 Y2_2 ...)
...)
)
The mask is defined as a list of polygons, where each polygon is defined as a list of coordinates. If the polygon is a simple, axis-aligned rectangle, it is sufficient to give the coordinates of two opposite corners.
The mask for the subcollector implantation is defined with:
(define Xb1 0.2) ; Beginning of base window (define Xb2 1.2) ; End of base window (define Xc1 1.5) ; Beginning of collector contact window (define Xc2 2.0) ; End of collector contact window (define Yc 0.8) ; Depth of contact (sdepe:generate-mask "SUBC" (list (list Xb1 0.0 Xc2 Yc)) )
The Scheme command for patterning is:
(sdepe:pattern "mask" "mask_name" "polarity" "polarity"
"type" "etch_type" "material" "material"
"thickness" thickness "steps" [nstep])
The "polarity" of the mask can be "light" or "dark", for light-field or dark-field masks, respectively. The most common etch "type" is "iso" and "aniso".
The optional parameter "steps" determines in how many steps the layer is deposited. For complex geometries, it may be necessary to use more than one step. (Refer to the Sentaurus Structure Editor User Guide for more options.)
The resist patterning step for the subcollector implant is performed with:
(define Tre 0.5)
(sdepe:pattern "mask" "SUBC" "polarity" "dark" "type" "aniso"
"material" "Resist" "thickness" Tre )
Figure 2. Substrate with the patterned resist layer. (Click image for full-size view.)
The Scheme command to define an implanted profile is:
(sdepe:doping-gauss "profile_name" "species" lateral_diffusion_length peak_concentration peak_depth inside_concentration inside-depth)
where the lateral_diffusion_length is given in micrometers, the peak_concentration is given in cm-3, and the peak_depth is given in micrometers and denotes the distance of the Gaussian peak from the exposed surface.
To complete the definition of the Gaussian profile, a second concentration/depth pair is given.
The subcollector implant profile is defined with:
(define LatDiff 0.02) (sdepe:doping-gauss "SubCol" "PhosphorusActiveConcentration" LatDiff 5e+19 0.0 Nasub 0.5)
The Scheme command to perform an implantation is:
(sdepe:implant)
The subcollector implantation is performed with:
(sdepe:implant "SubCol")
Figure 3. Structure after subcollector implantation step. (Click image for full-size view.)
The sdepe:implant command works as follows: All surfaces not covered with resist are taken as (individual) "reference surfaces" (refer to the Mesh Generation Tools User Guide) for the placements of the analytic doping profile. Furthermore, the doping profile definition is restricted to regions to ensure the correct profiles after possible etch and refill operations. Regions are identified by their region name.
This has some important implications:
The sdepe:implant command supports additional options to mitigate the second problem (refer to the Sentaurus Structure Editor User Guide).
The Scheme command to strip a layer is:
(sdepe:strip-material "material")
To strip the resist after the implantation step, use:
(sdepe:strip-material "Resist")
The Scheme command to deposit a material layer is:
(sdepe:depo "material" "material" "thickness" thickness
"type" "depo_type" ["steps" nstep])
The sdepe:depo command supports several options for rounding corners and edges (refer to the Sentaurus Structure Editor User Guide for details). The most common deposit "type" is "iso" and "aniso".
The optional parameter nstep determines in how many steps the layer is deposited. For complex geometries, it may be necessary to use more than one step.
The silicon epi layer is deposited and doped with:
(define Tepi 0.3) (define Ndepi 5e16) (define SiEpi (sdepe:depo "material" "Silicon" "thickness" Tepi "type" "iso")) (sde:add-material SiEpi "Silicon" "SiEpi") (sdepe:doping-constant-placement "DopEpi" "ArsenicActiveConcentration" Ndepi "SiEpi")
In this example, the doping concentration is defined by the same steps as in Section 7.1 Overview.
The Scheme command for etching is:
(sdepe:etch-material "material" "etch_material" "depth" depth
["steps" nstep])
where "material" is the material to be etched to a depth given by the "depth" parameter (micrometer). Only exposed surfaces are etched.
The optional parameter "steps" determines in how many steps the etching is performed. For complex geometries, it may be necessary to use more than one step. (Refer to the Sentaurus Structure Editor User Guide for more options.)
The isolation trenches for the BJT are created with:
(sdepe:generate-mask "ISO" ; Protection mask
(list (list Xb1 0.0 Xb2 Yc)
(list Xc1 0.0 Xc2 Yc) ))
(sdepe:pattern "mask" "ISO" "polarity" "light" "type" "aniso"
"material" "Resist" "thickness" Tre )
(sdepe:etch-material "material" "Silicon" "depth" Tepi ) ; Trench etching
(sdepe:strip-material "Resist")
Figure 4. Structure after the trench isolation etching. (Click image for full-size view.)
The Scheme command to perform a fill operation is:
(sdepe:fill-device "material" "material" ["height" height])
By default, the sdepe:fill-device command fills the structure with the selected "material" up to the current top z-coordinate. A fill level can be set explicitly with the optional parameter "height". If this parameter is present, the structure is filled up to z=height.
To fill the whole structure with oxide up to a level of 0.1 μm above the current top coordinate, use:
(define Ztop (sde-int:compute-zmax)) (sdepe:fill-device "material" "Oxide" "height" (+ Ztop 0.1) )
The utility function sde-int:compute-zmax returns the current topmost z-coordinate.
The Scheme command to perform a polish operation is:
(sdepe:polish-device { ["thickness" thickness] | ["height" height] })
This command emulates chemical-mechanical polishing (CMP) and polishes off either a certain "thickness" from the top of the device (uppermost z-position) or to the specified "height".
(sdepe:polish-device "thickness" 0.1)
Figure 5. Structure after filling isolation trenches with oxide and polishing. (Click image for full-size view.)
From Section 7.2 to Section 7.12, all major process emulation steps were introduced. In this section, the remaining steps to finalize the bipolar transistor are discussed briefly.
(sdepe:depo "material" "Oxide" "thickness" Tscreen)
However, in process emulation mode, a screening oxide has no effect. Besides adjusting the peak position, the screening oxide is included here to keep the process flow synchronized with a real process flow.
(sdepe:generate-mask "COL" (list (list Xc1 0.0 Xc2 Yc)))
(sdepe:pattern "mask" "COL" "polarity" "dark" "type" "aniso"
"material" "Resist" "thickness" Tre)
Mask definition as discussed in Section 7.4 Mask Generation and patterning as discussed in Section 7.5 Patterning.
(sdepe:doping-gauss "ColCont" "ArsenicActiveConcentration" LatDiff 5e+19 0.0 1e+017 0.5) (sdepe:implant "ColCont") (sdepe:strip-material "Resist")
Implantation as discussed in Section 7.6 Defining an Implantation Profile and Section 7.7 Implantation.
(sdepe:generate-mask "BAS" (list (list Xb1 0.0 Xb2 Yc)))
(sdepe:pattern "mask" "BAS" "polarity" "dark" "type" "aniso"
"material" "Resist" "thickness" Tre)
(define Tbase 0.2) (define Nabase 3e18) (sdepe:doping-gauss "Base" "BoronActiveConcentration" LatDiff Nabase 0.0 Ndepi Tbase) (sdepe:implant "Base") (sdepe:strip-material "Resist")
(define Xe1 0.9)
(define Xe2 1.1)
(define Ye (* 0.7 Yc))
(sdepe:generate-mask "EMIT" (list (list Xe1 0.0 Xe2 Ye)))
(sdepe:pattern "mask" "EMIT" "polarity" "dark" "type" "aniso"
"material" "Resist" "thickness" Tre)
(define Temit 0.1) (sdepe:doping-gauss "Emitter" "PhosphorusActiveConcentration" LatDiff 1e+20 0.0 1.0e18 Temit) (sdepe:implant "Emitter") (sdepe:strip-material "Resist")
Figure 6. Structure after three implant steps. The reference planes for the implantations are green. (Click image for full-size view.)
(define reset 0.05)
(sdepe:generate-mask "PCH"
(list (list (+ Xe1 reset) 0.0 (- Xe2 reset) (- Ye reset))
(list (+ Xc1 reset) 0.0 (- Xc2 reset) (- Yc reset))))
(sdepe:pattern "mask" "PCH" "polarity" "dark" "type" "aniso"
"material" "Resist" "thickness" Tre)
This mask is similar to emitter and collector implant masks, but the openings are smaller.
(sdepe:etch-material "material" "Oxide" "depth" Tscreen) (sdepe:strip-material "Resist")
Etching as discussed in Section 7.10 Etching.
(define Tpoly 0.1) (define POLYSI (sdepe:depo "material" "PolySi" "thickness" Tpoly)) (sde:add-material POLYSI "PolySi" "Poly") (sdepe:doping-constant-placement "DopPoly" "ArsenicActiveConcentration" 1e20 "Poly")
Deposition of a doped polysilicon layer as discussed in Section 7.9 Depositing a Doped Layer.
(sdepe:generate-mask "POL" (list (list Xc1 0.0 Xc2 Yc) (list Xe1 0.0 Xe2 Ye)))
(sdepe:pattern "mask" "POL" "polarity" "light" "type" "aniso"
"material" "Resist" "thickness" Tre)
(sdepe:etch-material "material" "PolySi" "depth" Tpoly) (sdepe:strip-material "Resist")
Figure 7. Structure after deposition and etching of polysilicon. (Click image for full-size view.)
(define Ztop (+ (sde-int:compute-zmax) 0.05)) (sdepe:fill-device "material" "Oxide" "height" Ztop )
Fill as discussed in Section 7.11 Fill.
(define Xbc1 (+ Xb1 0.1))
(define Xbc2 (+ Xbc1 0.4))
(sdepe:generate-mask "MET1"
(list (list Xc1 0.0 Xc2 Yc)
(list Xe1 0.0 Xe2 Ye)
(list Xbc1 0.0 Xbc2 Ye)))
(sdepe:pattern "mask" "MET1" "polarity" "dark" "type" "aniso"
"material" "Resist" "thickness" Tre)
(sdepe:etch-material "material" "Oxide" "depth" (+ Tpoly 0.05)) (sdepe:etch-material "material" "Oxide" "depth" Tscreen) (sdepe:strip-material "Resist")
Figure 8. Structure after etching the metal contact holes. (Click image for full-size view.)
(sdepe:fill-device "material" "Metal")
(sdegeo:define-contact-set "emitter" 4.0 (color:rgb 1.0 0.0 0.0 ) "==" ) (sdegeo:define-contact-set "base" 4.0 (color:rgb 1.0 0.0 0.0 ) "<><>" ) (sdegeo:define-contact-set "collector" 4.0 (color:rgb 1.0 0.0 0.0 ) "||" ) (sdegeo:define-contact-set "substrate" 4.0 (color:rgb 1.0 0.0 0.0 ) "::" )
As discussed in Section 6.10 Defining Contacts.
(sdegeo:define-contact-set "emitter" 4.0 (color:rgb 1.0 0.0 0.0 ) "==" ) (sdegeo:define-contact-set "base" 4.0 (color:rgb 1.0 0.0 0.0 ) "<><>" )
As discussed in Section 6.11 Setting Contacts at Existing Faces.
(sdegeo:set-current-contact-set "base") (define BCID (find-body-id (position (* 0.5 (+ Xbc1 Xbc2)) (* 0.5 Ye) (- Ztop 0.01)))) (sdegeo:delete-region BCID ) (sdegeo:set-contact-faces (find-face-id (position (* 0.5 (+ Xbc1 Xbc2)) (* 0.5 Ye) (+ Zsub Tepi))) "base")
As discussed in Section 2.11 Adding Vertices.
(sdegeo:set-current-contact-set "emitter") (define ECID (find-body-id (position (* 0.5 (+ Xe1 Xe2)) (* 0.5 Ye) (- Ztop 0.01)))) (sdegeo:delete-region ECID ) (sdegeo:set-contact-faces (find-face-id (position (* 0.5 (+ Xe1 Xe2)) (* 0.5 Ye) (+ Zsub Tepi Tpoly))) "emitter") (sdegeo:set-current-contact-set "collector") (define CCID (find-body-id (position (* 0.5 (+ Xc1 Xc2)) (* 0.5 Yc) (- Ztop 0.01)))) (sdegeo:delete-region CCID ) (sdegeo:set-contact-faces (find-face-id (position (* 0.5 (+ Xc1 Xc2)) (* 0.5 Yc) (+ Zsub Tepi Tpoly))) "collector")
Figure 9. Final structure after assigning contacts. (Click image for full-size view.)
(define Ztop (sde-int:compute-zmax)) (sdedr:define-refinement-window "All_RW" "Cuboid" (position 0 0 0) (position Xmax Ymax Ztop) ) (sdedr:define-refinement-size "All_RD" (/ Xmax 8.0) (/ Ymax 8.0) (/ Ztop 08.0) (/ Xmax 16.0) (/ Ymax 16.0) (/ Ztop 16.0)) (sdedr:define-refinement-function "All_RD" "DopingConcentration" "MaxTransDiff" 1) (sdedr:define-refinement-placement "All_PL" "All_RD" "All_RW" )
As discussed in Section 6.15 Defining a Meshing Strategy in a Window.
; Top region (sdedr:define-refinement-window "Top_RW" "Cuboid" (position Xb1 0 1.25) (position Xc2 Yc 2.3)) (sdedr:define-refinement-size "Top_RD" (/ Xmax 16.0) (/ Ymax 16.0) (/ Ztop 16.0) (/ Xmax 32.0) (/ Ymax 32.0) (/ Ztop 32.0)) (sdedr:define-refinement-function "Top_RD" "DopingConcentration" "MaxTransDiff" 1) (sdedr:define-refinement-placement "Top_PL" "Top_RD" "Top_RW" ) ; Base region (sdedr:define-refinement-window "Base_RW" "Cuboid" (position Xb1 0.0 Zsub) (position Xb2 Yc (+ Zsub Tepi) )) (sdedr:define-refinement-size "Base_RD" (/ (+ Xb2 Xb1) 8.0) (/ Yc 8.0) (/ Tepi 8.0) (/ (+ Xb2 Xb1) 32.0) (/ Yc 32.0) (/ Tepi 32.0)) (sdedr:define-refinement-function "Base_RD" "DopingConcentration" "MaxTransDiff" 1) (sdedr:define-refinement-placement "Base_PL" "Base_RD" "Base_RW" ) ; Active region (sdedr:define-refinement-window "Active_RW" "Cuboid" (position 0.85 0.0 2.15) (position 1.15 0.6 2.3 )) (sdedr:define-refinement-size "Active_RD" 0.02 0.08 0.02 0.01 0.04 0.01) (sdedr:define-refinement-function "Active_RD" "DopingConcentration" "MaxTransDiff" 1) (sdedr:define-refinement-placement "Active_PL" "Active_RD" "Active_RW" )
(sdedr:define-refinement-size "Poly_RD" 99 99 (/ Tpoly 8.0) 66 66 (/ Tpoly 9.0) ) (sdedr:define-refinement-material "Poly_PL" "Poly_RD" "PolySi" )
As discussed in Section 4.2 Defining Mesh Strategies in Regions.
(sde:save-model "n@node@_BJT_sde")
As discussed in Section 6.17 Saving the Model.
(sde:save-model "n@node@_BJT_sde")
Figure 10. Final structure with doping profiles and mesh. (Click image for full-size view.)
Click to view all the commands discussed in this section in the command file BJT_dvs.cmd.
The complete project can be investigated from within Sentaurus Workbench in the directory Applications_Library/GettingStarted/sde/BJT.
Create a Procem emulation flow that generates a 3D FinFET structure as shown.
| Step 1. Define the emulation domain and substrate. | Step 2. Deposit buried oxide layer. |
|---|---|
![]() |
![]() |
| Step 3. Deposit silicon layer and hard mask (use "Insulator1" as material). | Step 4. Pattern polysilicon layer and deposit nitride. |
![]() |
![]() |
| Step 5. Etch nitride and strip polysilicon. | Step 6. Etch hard mask and silicon, and strip nitride mask. |
![]() |
![]() |
| Step 7. Pattern nitride mask and deposit silicon. | Step 8. Fill and polish. |
![]() |
![]() |
| Step 9. Strip nitride and deposit gate oxide. | Step 10. Deposit nitride (with rounding). Use the rounding options "bledge", "convex", and Tni, where Tni is the thickness of the deposited nitride layer (see Section 7.9 Depositing a Doped Layer). |
![]() |
![]() |
| Step 11. Etch nitride spacer. | Step 12. Deposit (patterned) polysilicon gate. |
![]() |
![]() |
| Step 13. Reflect structure. | |
![]() |
To reflect the structure, use:
(sdegeo:reflect (get-body-list) (position 0 0 0)
(gvector 0 -1 0) #t)
where (get-body-list) selects all regions. The plane of reflection is
defined by giving a point on the plane (here, the origin (position 0 0 0))
and the normal vector (here, the negative y-axis (gvector 0 -1 0)). The
Boolean flag #t selects that the unreflected structure is kept.
Click to view a solution of the command file FinFET_procem_dvs.cmd.
The complete project can be investigated from within Sentaurus Workbench in the directory Applications_Library/GettingStarted/sde/FinFET_procem.
main menu | module menu | << previous section | next section >>
Copyright © 2012 Synopsys, Inc. All rights reserved.